SmartMaker - Front (React)
The front part of SmartMaker is built with React 19, Vite and TailwindCSS 4.
Technical stack
| Technology | Version | Description |
|---|---|---|
| React | 19.x | UI framework |
| Vite | 6.x | Build tool and dev server |
| TailwindCSS | 4.x | Utility-first CSS framework |
| Redux Toolkit | 2.x | State management |
| i18next | 24.x | Internationalization |
| Framer Motion | 12.x | Animations |
| Dexie | 4.x | IndexedDB wrapper |
| ky | 1.x | HTTP client |
| Zod | 4.x | Schema validation |
SmartCommon
SmartCommon is the shared React component library for every SmartMaker application.
Repository: https://inligit.fr/cap-rel/dolibarr/smartmaker/smartcommon
Installation
npm install @cap-rel/smartcommon
See SmartCommon for the complete documentation.
SmartCommon contents
Providers
Components that supply the context to the application (Provider, ApiProvider, ReduxProvider, etc.).
Form components
Input,Textarea,SelectCalendar,TimerAddressInput,GpsPhotosUploader,AudiosUploader,VideosUploaderColorPicker,IconSelectSignaturePadEditor(markdown)
Display components
String,Text,NumberDatetime,DurationEmail,Url,PhoneNumberAddress,CoordinatesColor,Icon,Tags
UI components
Page,Block,Panel,PopupList,ListItemCarousel,DataTable,ChartNavbar,Sidebar,TabbarButton,Icon,Spinner,Tag
Hooks
useApi- API calls with JWT authuseGlobalStates- Persistent global stateuseStates- Local stateuseForm- Form handlinguseDb- IndexedDB database through DexieuseNavigation- Router navigationuseIntl- Date/number formattinguseCachedQuery- API cache with strategies (NetworkFirst, CacheFirst, SWR)useSyncClient- Complete offline synchronizationuseReferenceSync- Read-only offline reference cataloguseOnlineStatus- Network status detectionuseAuthenticatedImage- Image loading with JWTuseIsDesktop- Desktop viewport detectionuseWindow- Orientation, dimensions, scroll, darkModeuseConfirm- Confirmation dialogsusePWAUpdate- Service Worker update
See Hooks for the complete documentation.
Documentation
- Architecture - File structure
- SmartCommon - Component list
- Hooks - Hooks documentation
- Routing - Navigation and routes
- API requests - Server calls
- Data storage - Local persistence
- Offline synchronization - Choosing an offline mechanism
- Synchronization - reference catalog -
useReferenceSync - Translations - Internationalization
- Themes - CSS customization
- PWA - Progressive Web App configuration
- Tips - Best practices